//定义全局请求路径
//const baseUrl = "https://tk52856365.oicp.vip"
const baseUrl = "http://localhost:8080"

//发送的请求次数
let requestCount = 0

/**
 * 后端request请求封装js
 * @param {*} params 
 */
const request = (params) => {
  //请求加载中的弹框
  wx.showLoading({
    title: "数据加载中",
    mask: true
  })
  //每次请求次数就加一
  requestCount++
  return new Promise((resolve, reject) => {
    wx.request({
      url: baseUrl + params.url,
      header: params.header,
      method: params.method,
      data: params.data,
      success: (res) => {
        resolve(res)
      },
      fail: (err) => {
        reject(err)
      },
      complete: () => {
        //每次完成一个请求请求数就减1
        requestCount--
        //如果当前的请求数为0，意味着所有页面的请求都完成了，就隐藏加载框
        if (requestCount == 0) {
          wx.hideLoading()
        }
      }
    })
  });
}

/**
 * 微信登录
 * @param {*} params 
 */
const wxLogin = (params) => {
  return new Promise((resolve, reject) => {
    wx.login({
      timeout: 5000,
      success: (res) => {
        resolve(res)
      },
      fail: (error) => {
        reject(reject)
      }
    })
  });
}

/**
 * 获取用户登录信息
 * 此接口在2022年11月默认用户名称、性别、头像都返回匿名数据
 * 例如用户名称返回：微信用户，性别返回：0未知用户，头像返回：灰色头像
 * 这个接口在2.27.1版本以下的类库中可以正常返回。高于此版本的微信库需要后续配合
 * 微信小程序头像昵称填写功能来后续补全。后续微信还是否会重新恢复此能力需要配合官方
 * 文档公告 参考@see
 * @see https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01?page=1#comment-list
 * @param {*} params 
 */
const getUserInfo = (params) => {
  return new Promise((resolve, reject) => {
    wx.getUserProfile({
      desc: "用于完善会员资料",
      success: (res) => {
        resolve(res)
      },
      fail: (error) => {
        reject(error)
      }
    })
  });
}

//导出工具
module.exports = {
  baseUrl,
  request,
  wxLogin,
  getUserInfo
}